#include "MainWindow.h"
#include "ui_MainWindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //此处用this，是一个窗体，如果不同的窗体，可以用不同的 对象
#if 0
    //1.一个信号可以与另一个信号相连
     connect(this,SIGNAL(signalo11(int)),this,SIGNAL(signalo21(int)));
     connect(this,SIGNAL(signalo21(int)),this,SLOT(slotso22(int)));
#endif
#if 0
    //2.表示一个信号可以与多个槽相连
    connect(this,SIGNAL(signalo12(int)),this,SLOT(slotso22(int)));
    connect(this,SIGNAL(signalo12(int)),this,SLOT(slotso31(int)));
#endif
   #if 1
    //3.表示同一个槽可以响应多个信号
     connect(this,SIGNAL(signalo12(int)),this,SLOT(slotso22(int)));
     connect(this,SIGNAL(signalo32(int)),this,SLOT(slotso22(int)));
   #endif
}


    void MainWindow::slotso22(int n)//object2-2的槽
    {
        if(n==0)
        {
             ui->lineEdit->setText("1.我是Object1点击 object2-2槽出现的");
        }
        else if(n==1)
        {
             ui->lineEdit->setText("2.我是Object1点击 object2-2槽出现的");
        }
        else if(n==2)
        {
            qDebug()<<"click Object1";
             ui->lineEdit->setText("3.我是Object1点击 object2-2槽出现的");
        }  else if(n==3)
        {
            qDebug()<<"click Object3";
             ui->lineEdit->setText("3.我是Object3点击 object2-2槽出现的");
        }else
        {
             ui->lineEdit->setText("我是Object1点击 object2-1槽出现的");
        }
    }
    void MainWindow::slotso31(int n)//object3-1的槽
    {
         ui->textEdit->setText("2.我是Object1点击 object3-1槽出现的");
    }


MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_Object1_clicked()
{
#if 0
    emit signalo11(0);
#endif
#if 0//2
    emit signalo12(1);
#endif
#if 1//3
    emit signalo12(2);
#endif
}

void MainWindow::on_Object2_clicked()
{
      ui->lineEdit->setText("我是Object2点击按钮 出现的");
}

void MainWindow::on_Object3_clicked()
{
    emit signalo32(3);
}
